#ifndef _PM_REPOSITORY_IMPL_HPP_
#define _PM_REPOSITORY_IMPL_HPP_

#include "api/pm_repository.hpp"

/*---------------------------------------------------------------------------*/

namespace ProjectManager {

/*---------------------------------------------------------------------------*/

class RepositoryImpl
	:	public Repository
{
/*---------------------------------------------------------------------------*/

public:

/*---------------------------------------------------------------------------*/

	RepositoryImpl();

	RepositoryImpl(
			const std::string& _name
		,	const std::string& _url
		,	const std::string& _username = ""
		,	const std::string& _password = ""
	);

	~RepositoryImpl();

	const std::string& getName() const;

	void setName( const std::string& _name );

	const std::string& getURL() const;

	void setURL( const std::string& _url );

	const std::string& getUsername() const;

	void setUserame( const std::string& _username );

	const std::string& getPassword() const;

	void setPassword( const std::string& _password );

/*---------------------------------------------------------------------------*/

private:

/*---------------------------------------------------------------------------*/

	std::string m_name;

	std::string m_url;

	std::string m_username;

	std::string m_password;

/*---------------------------------------------------------------------------*/

};

/*---------------------------------------------------------------------------*/

} // namespace ProjectManager

/*---------------------------------------------------------------------------*/

#endif // _PM_REPOSITORY_IMPL_HPP_
